﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.ConstrainedExecution;
using System.Runtime.Serialization;
using System.Text;

namespace Ocean.His.MedicalInsurance
{
    [DataContract]
    public class SI1318Data
    {

        /// <summary>
        /// 查询时间点
        /// 
        /// </summary>
        [DataMember(Name = "query_date")]
        public string QueryDate { get; set; }

        /// <summary>
        /// 医保目录编码
        /// 
        /// </summary>
        [DataMember(Name = "hilist_code")]
        public string HilistCode { get; set; }

        /// <summary>
        /// 医保目录限价类型
        /// 
        /// </summary>
        [DataMember(Name = "hilist_lmtpric_type")]
        public string HilistLmtpricType { get; set; }

        /// <summary>
        /// 医保目录超限处理方式
        /// 
        /// </summary>
        [DataMember(Name = "overlmt_dspo_way")]
        public string OverlmtDspoWay { get; set; }

        /// <summary>
        /// 参保机构医保区划
        /// 
        /// </summary>
        [DataMember(Name = "insu_admdvs")]
        public string InsuAdmdvs { get; set; }

        /// <summary>
        /// 开始日期
        /// 
        /// </summary>
        [DataMember(Name = "begndate")]
        public string Begndate { get; set; }

        /// <summary>
        /// 结束日期
        /// 
        /// </summary>
        [DataMember(Name = "enddate")]
        public string Enddate { get; set; }

        /// <summary>
        /// 有效标志
        /// 
        /// </summary>
        [DataMember(Name = "vali_flag")]
        public string ValiFlag { get; set; }

        /// <summary>
        /// 唯一记录号
        /// 
        /// </summary>
        [DataMember(Name = "rid")]
        public string Rid { get; set; }

        /// <summary>
        /// 表名
        /// 
        /// </summary>
        [DataMember(Name = "tabname")]
        public string Tabname { get; set; }

        /// <summary>
        /// 统筹区
        /// 
        /// </summary>
        [DataMember(Name = "poolarea_no")]
        public string PoolareaNo { get; set; }

        /// <summary>
        /// 
        /// Y
        /// </summary>
        [DataMember(Name = "updt_time")]
        public string UpdtTime { get; set; }

        /// <summary>
        /// 
        /// Y
        /// </summary>
        [DataMember(Name = "page_num")]
        public string PageNum { get; set; }

        /// <summary>
        /// 
        /// Y
        /// </summary>
        [DataMember(Name = "page_size")]
        public string PageSize { get; set; }

    }

    [DataContract]
    public class SI1318InputModel
    {
        [DataMember(Name = "data")]
        public SI1318Data SI1318Data { get; set; }

        public SI1318InputModel(SI1318Data si1318Data)
        {
            SI1318Data = si1318Data;
        }
    }

    /// <summary>
    /// 1318
    /// 医保目录信息查询
    /// </summary>
    [DataContract]
    public class SI1318RequestModel : SIBaseRequestModel
    {
        public SI1318RequestModel(MedicalInsuranceOption medicalInsuranceOption, SI1318Data si1318Data) : base(medicalInsuranceOption)
        {
            Infno = "1318";
            Input = new SI1318InputModel(si1318Data);
        }

        /// <summary>
        /// 交易输入
        /// </summary>
        [DataMember(Name = "input")]
        public SI1318InputModel Input { get; set; }
    }
}
